--[[
描述 ： 网络数据请求 类
作者 ： 付大志
修改 ： xxs- android
时间 ： 14/12/01
]] 


 MLHttp=Class(MLPlugin,'MLHttp');    
 MLHttp.mInstance = nil;
 MLHttp.mHashcode = nil; 




--[[ 
功能   ： 网络响应 事件监听函数  
参数   ： status   响应状态.true 连接成功，falsel连接失败   data    响应数据. 只接收字符串
返回   ： 无   
]] 
function qt_enevt_onHttp(hashcode, status, data)
	print(data);
	-- if status == 0 then status = false else status = true; end
	if qtEvent[hashcode]~=nil then
		if qtEvent[hashcode].onHttp ~= nil  then
			qtEvent[hashcode].onHttp(status, data);
		end
	end
end

--[[
功能   ： 初始化 网络数据 实例  
参数   ： url  网络url
返回   ： 网络数据 实例  
]] 
    function MLHttp:initHttp( url)
		if not url  then  print('Warning: MLHttp:initHttp(),argument 1 is nil! ') return end
		if type(url) ~= 'string'  then print('Warning: MLHttp:initHttp(),argument 1,type is not string!') return end
 
		self.mInstance  = bHttp:new();
		self.mInstance:httpSetURL(url);
		self.mHashcode = self.mInstance:httpGetHashCode();
		qtEvent[self.mHashcode]=self; 
		print('MLHttp:initHttp:',self);
		return self;
	end

--[[
功能   ： 设置url头  
参数： string key  MLHttp headKey
参数： string value  MLHttp headvalue
返回   ： 网络数据 实例  
]] 
    function MLHttp:setHead( key,  value)
			if not key  then  print('Warning: MLHttp:setHead(),argument 1 is nil! ') return end
			if type(key) ~= 'string'  then print('Warning: MLHttp:setHead(),argument 1,type is not string!') return end

			if not value  then  print('Warning:MLHttp:setHead(),argument 2 is nil! ') return end
			if type(value) ~= 'string'  then print('Warning: MLHttp:setHead(),argument 2,type is not string!') return end

			self.mInstance:httpSetHead(key, value); 
	end

--[[
功能   ： 设置http头  
参数   ： data  post 数据.没有默认为get  ms    超时时间单位(m).默认15秒 
返回   ： 网络数据 实例  
]] 
    function MLHttp:request( data,  ms)
		self.mTab =tab;
		local ms = ms or 15;
		data = data or '';
		if not data  then  print('Warning: MLHttp:request(),argument 1 is nil! ') return end
		if type(data) ~= 'string'  then print('Warning: MLHttp:request(),argument 1,type is not string!') return end



		if not ms  then  print('Warning:MLHttp:request(),argument 2 is nil! ') return end
		if type(ms) ~= 'number'  then print('Warning: MLHttp:request(),argument 2,type is not number!') return end
        self.mInstance:httpRequest(data or '', ms or 15);
	end

--[[
功能： 是否支持https 
参数： boolean enSSL  是否支持https,默认不支持
返回： 无 
]]
function MLHttp:setSSL(enSSL)
    if not enSSL  then  enSSL = false  end
    if type(enSSL) ~= 'boolean'  then print('Warning: MLHttp:initHttp(),argument 2,type is not boolean!')  end
    --self.mInstance:setSSL(enSSL);

end


	

--[[
功能   ： 取消联网  
参数   ： 无
返回   ： 无
]] 
    function MLHttp:cancel()
    	self.mInstance:httpCancel();
	end	

 
 
--[[ 
功能   ： 网络响应 事件监听函数  
参数   ： status   响应状态.true 连接成功，falsel连接失败   data    响应数据. 只接收字符串
返回   ： 无   
]] 

function MLHttp:onCallBack(resultCode,arg)
	print('MLHttp:onCallBack:',arg[1],arg[2]);
 	if self.onHttp~=nil then   
 			self.onHttp(arg[1], arg[2]);
 	end  
end
